from selenium import webdriver
from selenium.webdriver.chrome.options import Options  # 用于设置谷歌浏览器
from selenium.webdriver.chrome.webdriver import Service  # 用于管理谷歌的驱动
from selenium.webdriver.common.by import By
import threading


class A1:
    def create_browser(self):
        # 创建浏览器对象
        q1 = Options()
        # 禁用沙盒模式（增加系统兼容性）
        q1.add_argument('--no-sandbox')
        # 保持浏览器打开状态（），默认代码执行完毕自动关闭
        q1.add_experimental_option(name='detach', value=True)

        # 创建并启动浏览器
        a1 = webdriver.Chrome(service=Service('chromedriver.exe'), options=q1)
        # 隐形等待时间，多少秒内找到就执行，没有找到就报错
        a1.implicitly_wait(10)
        a1.get('https://www.baidu.com')
        return a1

    # 执行代码
    def zhixing(self):
        a1 = self.create_browser()
        a1.find_element(By.XPATH, '/html/body/div[1]/div[1]/div[3]/a[4]').click()
        # 获取全部标签页句柄
        a2 = a1.window_handles
        print(a2)
        # 切换标签页
        a1.switch_to.window(a2[0])
        # 获取当前标签页句柄
        a2 = a1.current_window_handle

s = A1()

threading.Thread(target=s.zhixing()).start()
threading.Thread(target=s.zhixing()).start()
threading.Thread(target=s.zhixing()).start()
threading.Thread(target=s.zhixing()).start()